home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d3 / dbmail.arc / ML0400.PRG < prev    next >
Text File  |  1988-06-18  |  5KB  |  243 lines

  1. NOTE ML0400 - INITIALIZE OR REPACK MAILING LIST FILE ON DISKETTE    9/23/84
  2. DO WHILE T
  3. ERASE
  4. ?
  5. ? '        MAILING LIST FILE MAINTENANCE'
  6. ?
  7. ?
  8. ? '        1 - INITIALIZE NEW MAILING LIST DATA FILE'
  9. ? '        2 - SELECT EXISTING MAIL LIST FILE FOR PROCESSING'
  10. ? '        3 - DROP DELETED RECORDS FROM CURRENT MAILING LIST FILE'
  11. ?
  12. ?
  13. ? '    Select Mail List Records and'
  14. ?
  15. ? '        4 - REMOVE/ADD CODES TO CODES FIELD'
  16. ? '        5 - DELETE RECORDS'
  17. ? '        6 - UPDATE ANOTHER MAILING LIST'
  18. ?
  19. ? '        7 - RECOVER BACK UP COPY OF A MAILING LIST FILE'
  20. ?
  21. ?
  22. ? '           99 - RETURN TO MAIN MENU'
  23. ?
  24. IF XXF
  25.     ? '    '
  26.     ?? FDEV
  27.     ?? '= Mailing List file in use'
  28. ELSE
  29.     ? 'NO FILE IN USE. SELECT OPTION 1 or 2 BEFORE ANY MAIL LIST ACTIVITIES.'
  30.     ENDIF
  31. ?
  32. ?
  33. INPUT 'SELECT OPTION' TO RESP
  34. DO CASE
  35. CASE RESP=1
  36.     STORE F    TO XXF
  37.     RELEASE FDEV
  38.     ?
  39.     ACCEPT 'ENTER NEW MAILING LIST (device:)FILE NAME to CREATE.' TO SEL
  40.     DO CASE
  41.     CASE SEL=' '.AND. LEN(SEL)=1
  42.         ?
  43.         ? 'NO FILE NAME ENTERED. PLEASE ENTER FILE NAME. Press any key to continue.'
  44.         WAIT
  45.     OTHERWISE
  46.     IF LEN(SEL)-@(':',SEL)<8
  47.         STORE !(SEL)    TO FDEV
  48.         ?
  49.         ? 'PREPARE DEVICE TO RECEIVE MAILING LIST FILE. Press any key when ready.'
  50.         WAIT
  51.         RESET
  52.         STORE FILE('&FDEV..DBF')    TO XXF
  53.         IF XXF
  54.             ?
  55.             ? 'DUPLICATE MAILING LIST FILE &FDEV FOUND. THIS FILE WILL BE ERASED IF YOU PROCEED.'
  56.             ENDIF
  57.         ?
  58.         ACCEPT 'DO YOU WISH TO CONTINUE? (Y/N) ' TO OPT
  59.         IF OPT='Y'
  60.             ?
  61.             ACCEPT 'ENTER DESCRIPTION OF FILE' TO DESCR
  62.             USE ML0400
  63.             COPY TO &FDEV
  64.             USE &FDEV
  65.             APPEND BLANK
  66.             REPLACE RECID WITH 0;
  67.                 INST WITH DESCR
  68.             DELETE
  69.             INDEX ON RECID TO &FDEV
  70.             USE
  71.             STORE T    TO XXF
  72.             ? 'NEW MAILING LIST FILE &FDEV INITIALIZED.'
  73.         ELSE
  74.             STORE F    TO XXF
  75.             RELEASE FDEV
  76.             ENDIF
  77.     ELSE
  78.         ?
  79.         ? 'MAILING LIST FILE NAME MORE THAN 7 CHARACTERS IN LENGTH. Press any key to continue.'
  80.         WAIT
  81.         ENDIF
  82.     ENDCASE
  83. CASE RESP=2
  84.     ?
  85.     ? 'ENTER NEW MAILING LIST (device:)FILE NAME for PROCESSING.'
  86.     ACCEPT '     <cr> TO CLOSE CURRENT FILE.' TO SEL
  87.     DO CASE
  88.     CASE SEL=' '.AND. LEN(SEL)=1
  89.         STORE F    TO XXF
  90.         RELEASE FDEV
  91.     OTHERWISE
  92.     IF LEN(SEL)-@(':',SEL)<8
  93.         STORE !(SEL)    TO FDEV
  94.         ?
  95.         ? 'PREPARE DEVICE WITH MAILING LIST FILE FOR PROCESSING. Press any key when ready.'
  96.         WAIT
  97.         RESET
  98.         STORE FILE('&FDEV..DBF')    TO XXF
  99.         IF .NOT.XXF
  100.             ?
  101.             ? 'MAILING LIST FILE &FDEV NOT FOUND. PLEASE REENTER FILE NAME.'
  102.             ? '    Press any key to continue.'
  103.             WAIT
  104.         ELSE
  105.             IF .NOT.FILE('&FDEV..NDX')
  106.                 ?
  107.                 ? 'INDEXING MAILING LIST FILE. Please wait.'
  108.                 SET TALK ON
  109.                 USE &FDEV
  110.                 INDEX ON RECID TO &FDEV
  111.                 SET TALK OFF
  112.                 USE
  113.                 ENDIF
  114.             ENDIF
  115.     ELSE
  116.         ?
  117.         ? 'MAILING LIST FILE NAME MORE THAN 7 CHARACTERS IN LENGTH.'
  118.         ? '    Press any key to continue.'
  119.         WAIT
  120.         STORE F    TO XXF
  121.         RELEASE FDEV
  122.         ENDIF
  123.     ENDCASE
  124. CASE RESP=3.AND.XXF
  125. ?
  126. ? 'THIS PROCEDURE DROPS ALL DELETED RECORDS. <cr> TO CONTINUE, N=RETURN TO MENU.'
  127. WAIT TO OPT
  128. IF OPT#'N'
  129.     USE &FDEV
  130.     GOTO 1
  131.     IF * .AND. RECID=0
  132.         RECALL
  133.         ENDIF
  134.     SET TALK ON
  135.     PACK
  136.     INDEX ON RECID TO &FDEV
  137.     SET TALK OFF
  138.     GOTO 1
  139.     IF RECID=0
  140.         DELETE
  141.         ENDIF
  142.     USE
  143.     ? 'MAILING LIST FILE PURGED OF DELETED DETAIL'
  144.     ENDIF
  145. CASE XXF.AND.(RESP=4 .OR. RESP=5 .OR. RESP=6)
  146.     ERASE
  147.     @ 6,10 SAY 'Enter Criteria to Select Records from the Database'
  148.     @ 8,10 SAY '     1 - Select Records for Match on ALL Records'
  149.     @ 9,10 SAY '     2 - Select Records for Match on Input Reference Code'
  150.     @ 10,10 SAY '     3 - Select Records for Match on User Boolean Input'
  151.     
  152.     STORE 0 TO OPT
  153.     @ 12,10 SAY 'Input Option  ' GET OPT PICTURE '9'
  154.     READ
  155.     IF OPT<1 .OR. OPT>3
  156.         @ 14,1 SAY 'Invalid Option Code Entered. Press any Key to Return to Menu.'
  157.         RELEASE OPT
  158.         WAIT
  159.     ELSE
  160.         DO CASE
  161.         CASE RESP=4
  162.             DO ML0440
  163.         CASE RESP=5
  164.             DO ML0442
  165.             USE &FDEV
  166.             DO CASE
  167.             CASE OPT=1
  168.                 DO ML0451
  169.             CASE OPT=2
  170.                 DO ML0452
  171.             CASE OPT=3
  172.                 DO ML0453
  173.             ENDCASE
  174.             ?
  175.             ? 'DELETED Records are Removed by Running Option 3, Purge Deletes.'
  176.             ? '    This Option Should be Run After Delete Activity is Complete.'
  177.             WAIT
  178.         OTHERWISE
  179.             DO ML0460
  180.         ENDCASE
  181.         ENDIF
  182.  
  183. CASE RESP=7
  184.     ?
  185.     ACCEPT 'ENTER (DEV:)NAME OF MAILING LIST FILE TO RECOVER ' TO SEL
  186.     DO CASE
  187.     CASE SEL=' '.AND. LEN(SEL)=1
  188.     OTHERWISE
  189.     IF LEN(SEL)-@(':',SEL)<8
  190.         STORE !(SEL)    TO FIL
  191.         ?
  192.         ? 'PREPARE DEVICE WITH BACK UP MAILING LIST FILE FOR PROCESSING. Press any key when ready.'
  193.         WAIT
  194.         RESET
  195.         STORE FILE('&FIL..BAK')    TO OK
  196.         IF .NOT.OK
  197.             ?
  198.             ? 'BACK UP MAILING LIST FILE &FIL NOT FOUND. Press any key to continue.'
  199.             WAIT
  200.         ELSE
  201.             STORE FILE('&FIL..DBF')    TO OK
  202.             IF OK
  203.                 ?
  204.                 ? 'Mailing List File Found on Disk. Replace with Back up Copy?'
  205.                 ACCEPT '   ENTER RESPONSE (Y/N) ' TO SEL
  206.                 STORE !(SEL)='N'    TO OK
  207.                 IF .NOT.OK
  208.                     DELETE FILE &FIL
  209.                     ENDIF
  210.                 ENDIF
  211.             IF .NOT.OK
  212.                 RENAME &FIL..BAK TO &FIL
  213.                 ?
  214.                 ? 'INDEXING FILE &FIL . Please wait.'
  215.                 SET TALK ON
  216.                 USE &FIL
  217.                 INDEX ON RECID TO &FIL
  218.                 SET TALK OFF
  219.                 USE
  220.                 ENDIF
  221.             ENDIF
  222.     ELSE
  223.         ?
  224.         ? 'MAILING LIST FILE NAME MORE THAN 7 CHARACTERS IN LENGTH.'
  225.         ? '    Press any key to continue.'
  226.         WAIT
  227.         ENDIF
  228.     ENDCASE
  229.     RELEASE FIL,OK
  230. CASE RESP=99
  231.     RELEASE OPT,RESP
  232.     RETURN
  233. ENDCASE
  234. ENDDO
  235. F
  236.     ENDCASE
  237.     RELEASE FIL,OK
  238. CASE RESP=99
  239.     RELEASE OPT,RESP
  240.     RETURN
  241. ENDCASE
  242. ENDDO
  243.